Golang : Combine slices of complex numbers and operation example
Extension from a previous tutorial on how to perform calculations with complex numbers. For this tutorial, we will learn how to perform simple operation such as changing the real and imaginary parts of a complex number. In particular on how to use the alphabet i
to modify the imaginary value.
We will also learn how to combine two slices in a proper way with the builtin
append function.
Here you go!
package main
import (
"fmt"
)
var a = complex(2, 3)
var b = complex(4, 5)
var c = complex(6, 7)
func main() {
complexSliceA := []complex128{a, b, c}
complexSliceB := []complex128{b, c, a}
fmt.Println("A : ", complexSliceA)
fmt.Println("B : ", complexSliceB)
// add 2 for the real, but not the imaginary part
fmt.Println("Before : ", complexSliceA[0])
fmt.Println("After : ", complexSliceA[0]+2)
// to change imaginary part, include the letter i
// for example, to add 2 ... use 2i
fmt.Println("Before : ", complexSliceA[0])
fmt.Println("After : ", complexSliceA[0]+2i)
// iterate over a complex slice example
for item, data := range complexSliceA {
fmt.Printf("Item %d , complex number %v \n", item, data)
}
// preserve complexSliceA
temp := complexSliceA
// to combine two slices, use for loop and builtin append function
for index, _ := range complexSliceB {
complexSliceA = append(complexSliceA, complexSliceB[index])
}
// restore back
complexSliceC := complexSliceA
complexSliceA = temp
fmt.Println("C = A + B ", complexSliceC)
}
Output:
A : [(2+3i) (4+5i) (6+7i)]
B : [(4+5i) (6+7i) (2+3i)]
Before : (2+3i)
After : (4+3i)
Before : (2+3i)
After : (2+5i)
Item 0 , complex number (2+3i)
Item 1 , complex number (4+5i)
Item 2 , complex number (6+7i)
C = A + B [(2+3i) (4+5i) (6+7i) (4+5i) (6+7i) (2+3i)]
References:
https://www.socketloop.com/tutorials/golang-append-and-add-item-in-slice
https://socketloop.com/tutorials/golang-calculations-using-complex-numbers-example
By Adam Ng
IF you gain some knowledge or the information here solved your programming problem. Please consider donating to the less fortunate or some charities that you like. Apart from donation, planting trees, volunteering or reducing your carbon footprint will be great too.
Advertisement
Tutorials
+51.4k Golang : Disable security check for HTTPS(SSL) with bad or expired certificate
+21.2k Golang : Convert(cast) string to rune and back to string example
+11.8k Golang : Find age or leap age from date of birth example
+7k Golang : How to solve "too many .rsrc sections" error?
+6.2k Golang : Build new URL for named or registered route with Gorilla webtoolkit example
+36.7k Golang : Validate IP address
+10.7k Golang : Simple File Server
+10.7k Golang : How to unmarshal JSON inner/nested value and assign to specific struct?
+9.2k Golang : io.Reader causing panic: runtime error: invalid memory address or nil pointer dereference
+30.5k Golang : How to verify uploaded file is image or allowed file types
+10.5k Golang : Simple Jawi(Yawi) to Rumi(Latin/Romanize) converter
+8.2k Golang : Variadic function arguments sanity check example